package vista;

import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;
import java.awt.event.WindowListener;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JToolBar;
import javax.swing.SwingConstants;
import javax.swing.ImageIcon;
import javax.swing.table.TableModel;
import java.io.File;

public class VentanaBuscarCliente extends JDialog
{

	private JButton btnAceptar,btnCancelar;
	private JTextField txtCodigoCliente,txtNombreCliente;
	private JTable tabla;
	
	public VentanaBuscarCliente(JFrame frame)
	{
		super(frame,true);
		this.setTitle("Buscar Cliente");
		
		ImageIcon imgAceptar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "aceptar.png"));
	    ImageIcon imgCancelar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "cancelar.png"));
	    
		JToolBar barraHerramientas= new JToolBar();
		PanelFondo panelFondo= new PanelFondo();
		
		JLabel lblCodCliente= new JLabel("Codigo Cliente: ");
		JLabel lblNombre= new JLabel("Nombre Cliente: ");
		
		btnAceptar= new JButton("ACEPTAR",imgAceptar);
		btnCancelar= new JButton("CANCELAR",imgCancelar);
		
		txtCodigoCliente= new JTextField();
		txtNombreCliente= new JTextField();
		
		txtCodigoCliente.setName("txtCodigoCliente");
		txtNombreCliente.setName("txtNombreCliente");
		
		tabla= new JTable();
		JScrollPane scroll = new JScrollPane(tabla,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		

		btnAceptar.setVerticalTextPosition(SwingConstants.BOTTOM);
	    btnAceptar.setHorizontalTextPosition(SwingConstants.CENTER);
	    btnAceptar.setOpaque(false);
	    btnAceptar.setBorderPainted(false); 
		
		
		btnCancelar.setVerticalTextPosition(SwingConstants.BOTTOM);
	    btnCancelar.setHorizontalTextPosition(SwingConstants.CENTER);
	    btnCancelar.setOpaque(false);
	    btnCancelar.setBorderPainted(false);

	    barraHerramientas.setFloatable(false);
	    barraHerramientas.setOpaque(false);
	    barraHerramientas.setBorderPainted(false);
		
		barraHerramientas.add(btnAceptar);
		barraHerramientas.addSeparator();
		barraHerramientas.addSeparator();
		barraHerramientas.addSeparator();
		barraHerramientas.addSeparator();
		barraHerramientas.add(btnCancelar);
		
		panelFondo.setLayout(null);
		
		panelFondo.add(lblCodCliente);
	    lblCodCliente.setBounds(25, 25, 120, 20);
	    lblCodCliente.setFont(new Font(Font.DIALOG,Font.BOLD,15));
	    
	    panelFondo.add(lblNombre);
	    lblNombre.setBounds(25,85, 120, 20);
	    lblNombre.setFont(new Font(Font.DIALOG,Font.BOLD,15));
		
	    panelFondo.add(txtCodigoCliente);
	    txtCodigoCliente.setBounds(175, 20, 150, 25);
	    
	    panelFondo.add(txtNombreCliente);
	    txtNombreCliente.setBounds(175, 80, 200, 25);
	    
	    panelFondo.add(scroll);
	    scroll.setBounds(25, 130, 354, 170);
	    
	    panelFondo.add(barraHerramientas);
	    barraHerramientas.setBounds(100, 310, 200, 90);
		
		add(panelFondo);
		setSize(420, 450);	
	    setLocationRelativeTo(null);
	    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);    
	}
	
	
	
	public void addListener(WindowListener escuchador)
	{
		this.addWindowListener(escuchador);
	}
	
	public void addListener(ActionListener escuchador)
	{
		btnAceptar.addActionListener(escuchador);
		btnCancelar.addActionListener(escuchador);
	}
	
	public void addListener(MouseListener escuchador)
	{
		tabla.addMouseListener(escuchador);
		
	}
	
	public int getFilaSeleccionada()
	{
		return tabla.getSelectedRow();
	}
	
	public String getCodigo()
	{
		return txtCodigoCliente.getText();
	}
	
	public String getNombre()
	{
		return txtNombreCliente.getText();
	}
	
	public void asignarDatosTabla(TableModel modeloTabla)
	{
		 tabla.setModel(modeloTabla);		
	}
	
	public void asignarCodigo(String codigo)
	{
		txtCodigoCliente.setText(codigo);
	}
	
	public void asignarNombre(String nombre)
	{
		txtNombreCliente.setText(nombre);
	}

	
}
